#ifndef CAMERA_H
#define CAMERA_H

#include "Includes.h"
#include "esUtil.h"
#include "Vector.h"
#include "ShaderLoader.h"

class Camera
{
public:
	Camera(Vector3 position, Vector3 lookDir);

	void move(Vector3 amount);
	void moveTo(Vector3 position);
	void lookAt(Vector3 lock);
	void lookDir(Vector3 dir);
	void setViewProj(ShaderInfo shader);

private:
	void calculateMatrices();

	Vector3 position;
	Vector3 direction;
	ESMatrix view;
	ESMatrix proj;
};

#endif